//
//  HHKeyboardInfo.h
//  ZHUIKit
//
//  Created by Basic on 2018/2/12.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

#define kHHKeyboardActionDefault    0
#define kHHKeyboardActionShow       1
#define kHHKeyboardActionHide       2


@protocol HHKeyboardUtilProtocol <NSObject>
- (void)adaptiveViewHandleWithAdaptiveView:(UIView *)adaptiveView, ...NS_REQUIRES_NIL_TERMINATION;
- (void)adaptiveViewHandleWithController:(UIViewController *)viewController adaptiveView:(UIView *)adaptiveView, ...NS_REQUIRES_NIL_TERMINATION;
@end


#pragma mark - HHKeyboardInfo(model)
@interface HHKeyboardInfo : NSObject
@property (assign, nonatomic) CGFloat   animationDuration;
@property (assign, nonatomic) CGRect    frameBegin;
@property (assign, nonatomic) CGRect    frameEnd;
@property (assign, nonatomic) CGFloat   heightIncrement;
@property (assign, nonatomic) NSInteger action;
@property (assign, nonatomic) BOOL      isSameAction;

- (void)fillKeyboardInfoWithDuration:(CGFloat)duration frameBegin:(CGRect)frameBegin frameEnd:(CGRect)frameEnd heightIncrement:(CGFloat)heightIncrement action:(NSInteger )action isSameAction:(BOOL)isSameAction;
@end



#pragma mark - UIView+HHKeyboardUtil
@interface UIView (HHKeyboardUtil)
- (void)findControllerWithResultController:(UIViewController **)resultController;
@end
